package com.example.demo01.demo;

import android.content.Intent;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.Button;

import androidx.activity.EdgeToEdge;
import androidx.appcompat.app.AppCompatActivity;
import androidx.core.graphics.Insets;
import androidx.core.view.ViewCompat;
import androidx.core.view.WindowInsetsCompat;

import com.example.demo01.R;
import com.example.demo01.fragments.TitleFragment;

public class lifeCycleDemo extends AppCompatActivity {
    private Button btn_to;

    //. onCreate() 方法在 Activity 创建时调用，通常用于初始化 Activity 的 UI 和数据。
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_life_cycle);
        EdgeToEdge.enable(this);
        ViewCompat.setOnApplyWindowInsetsListener(findViewById(R.id.main), (v, insets) -> {
            Insets systemBars = insets.getInsets(WindowInsetsCompat.Type.systemBars());
            v.setPadding(systemBars.left, systemBars.top, systemBars.right, systemBars.bottom);
            return insets;
        });

        //. 添加标题
        getSupportFragmentManager()
                .beginTransaction()
                .add(R.id.fl_title, TitleFragment.newInstance(getResources().getString(R.string.lifeCycleDemo)))
                .commit();

        initView();
        Log.i("LifeMsg", "第一个Activity(lifeCycleDemo) ——————> onCreate() 方法在 Activity 创建时调用，通常用于初始化 Activity 的 UI 和数据。");
    }

    //. onStart() 方法在 Activity 显示时调用，通常用于启动 Activity 的初始化操作。
    @Override
    protected void onStart() {
        super.onStart();
        Log.i("LifeMsg", "第一个Activity(lifeCycleDemo) ——————> onStart() 方法在 Activity 显示时调用，通常用于启动 Activity 的初始化操作。");

    }

    //. onResume() 方法在 Activity 恢复时调用，通常用于恢复 Activity 的状态和数据。
    @Override
    protected void onResume() {
        super.onResume();
        Log.i("LifeMsg", "第一个Activity(lifeCycleDemo) ——————> onResume() 方法在 Activity 恢复时调用，通常用于恢复 Activity 的状态和数据。");
    }

    //. onPause() 方法在 Activity 暂停时调用，通常用于保存 Activity 的状态和数据。
    @Override
    protected void onPause() {
        super.onPause();
        Log.i("LifeMsg", "第一个Activity(lifeCycleDemo) ——————> onPause() 方法在 Activity 暂停时调用，通常用于保存 Activity 的状态和数据。");
    }

    //. onStop() 方法在 Activity 停止时调用，通常用于保存 Activity 的状态和数据。
    @Override
    protected void onStop() {
        super.onStop();
        Log.i("LifeMsg", "第一个Activity(lifeCycleDemo) ——————> onStop() 方法在 Activity 停止时调用，通常用于保存 Activity 的状态和数据。");
    }

    //. onDestroy() 方法在 Activity 销毁时调用，通常用于释放资源。
    @Override
    protected void onDestroy() {
        super.onDestroy();
        Log.i("LifeMsg", "第一个Activity(lifeCycleDemo) ——————> onDestroy() 方法在 Activity 销毁时调用，通常用于释放资源。");
    }

    //. 初始化视图，设置按钮的点击事件。
    private void initView() {
        btn_to = findViewById(R.id.btn_to);

        addListener();
    }

    //. 为按钮设置点击事件，当点击按钮时，启动一个新的 Activity。
    private void addListener() {
        btn_to.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                Intent intent = new Intent(lifeCycleDemo.this, IntentTestPage.class);
                startActivity(intent);
            }
        });
    }
}